package com.cl.core.builder.handler;

import com.cl.core.builder.model.BuilderModel;

import java.util.List;

/**
 * @author liddhappy
 * @description 基类处理
 * @createTime 2022/12/28 19:08
 */
public abstract class BuilderHandler<T> {
    /**
     *  建造配置
     */
    protected String builderConfig;
    /**
     *  建造意图
     */
    protected String target;
    /**
     * 建造材料
     */
    protected BuilderModel builderModel;
    /**
     * 建造结果
     */
    protected List<T> results;

    protected BuilderHandler(String builderConfig, String target, BuilderModel builderModel,
                          List<T> results) {
        this.builderConfig = builderConfig;
        this.target = target;
        this.builderModel = builderModel;
        this.results = results;
    }

    /**
     * 建造处理
     */
   public abstract void processBuilder() throws Exception;

}
